BBB GUI 04/30/2012 (v1.4.0.2.)
================

- fixed non-working tooltips
- added backward compatibility with Window xp - all controls should work now on Windows XP, Vista and 7
- updated keywords - thanks to Scraggle
- from this version BBB GUI comes with basic help files which can be accessed inside the editor by pressing F1 key - thanks to Scraggle

BBB GUI 04/29/2012 (v1.4.0.1.)
================

- Added missing command BBB WINDOW_UPDATE
- ES_NUMBER style set as default style of Updown control

BBB GUI 04/08/2012 (v1.4.0.0.)
================

Most significant changes:
- All the commands now have BBB prefix
- All the commands have been organized into categories - category name is the first part of every command and tells you which control can the command be used on 
- The commands from the Window category can be used on all the controls
- The App category contains commands that don't fit into any other category or can't be used on the controls 
- Commands START BBB GUI and END BBB GUI have been renamed and moved to APP category. They are now called BBB APP_START and BBB APP_END
- BBB APP_END command needs to be called on application exit only if application is using theme (Uskin.dll)
- Fixed bugs in some commands that return strings
- Fixed bugs in dll string table
- Updated keywords file
- Fixed errors in keywords file [tnx to Admiral MH for help]
- Added missing commands to dll string table [tnx to Admiral MH for help] 
- Updated all the examples to reflect the changes
- BBB GUI now comes in 2 versions - one which requires Uskin.dll to be present and one which doesn't (that one doesn't have window theming)
- There's been a lot of changes, it would be hard to list them all so I advise you to take a look at all the examples to see for yourself 

App:
- Added commands:
  * BBB APP_START=main.htm=[*No parameters*]  [Theme file]
  * BBB APP_END=main.htm=*No parameters*
  * BBB APP_SETMAINWINDOW
  * BBB APP_GETMAINWINDOW
  * BBB APP_GETDBPROWINDOW
  * BBB APP_GETDBPROICON
  * BBB APP_GETDESKTOPWINDOW
  * BBB APP_GETFOCUSWINDOW
  * BBB APP_SETFOCUSWINDOW
  * BBB APP_FINDWINDOW
  * BBB APP_ISVALIDWINDOW
  * BBB APP_SETFOREGROUNDWINDOW
  * BBB APP_SETACTIVEWINDOW
  * BBB APP_GETACTIVEWINDOW
  * BBB APP_GETCURSORONWINDOW
  * BBB APP_GETWINDOWUNDERCURSOR
  * BBB APP_SETTOPWINDOW
  * BBB APP_SETWINDOWSVISIBILITY
  * BBB APP_SETWINDOWSICON
  * BBB APP_SETWINDOWSFONT
  * BBB APP_ENUMERATESYSTEMFONTS
  * BBB APP_SCREENTOCLIENTX
  * BBB APP_SCREENTOCLIENTY
  * BBB APP_CLIENTTOSCREENX
  * BBB APP_CLIENTTOSCREENY
  * BBB APP_GETLASTMODIFIEDCONTROL
  * BBB APP_GETLASTMODIFIEDCONTROLEVENT
  * BBB APP_GETEVENT
  * BBB APP_GETEVENTHANDLE
  * BBB APP_GETEVENTMESSAGE
  * BBB APP_GETEVENTLPARAM
  * BBB APP_GETEVENTWPARAM
  * BBB APP_CLEAREVENT
  * BBB APP_SENDEVENT
  * BBB APP_GETLASTCLICKEDBUTTON
  * BBB APP_GETLASTCLICKEDSTATIC
  * BBB APP_GETLASTDCLICKEDSTATIC
  * BBB APP_GETLASTCLICKEDUPDOWN
  * BBB APP_GETLASTHIGHLIGHTEDTOOLBARBUTTON
  * BBB APP_GETLASTCLICKEDRADIOBOX
  * BBB APP_GETLASTCLICKEDCHECKBOX
  * BBB APP_GETLASTCLICKEDTOOLBAR
  * BBB APP_GETLASTCLICKEDTOOLBARBUTTONID
  * BBB APP_GETSELECTEDTOOLBARMENUSTRING
  * BBB APP_GETSELECTEDTOOLBARMENU
  * BBB APP_GETSELECTEDTOOLBARMENUITEMID
  * BBB APP_SETCURRENTPOPUPMENU
  * BBB APP_GETSELECTEDPOPUPMENUITEMID
  * BBB APP_GETSELECTEDPOPUPMENUITEMSTRING
  * BBB APP_GETSELECTEDMENUITEMID
  * BBB APP_GETSELECTEDMENUITEMSTRING

Buttons:
- Changed commands
  * BUTTON CLICKED changed to BBB_BUTTON_GETSTATE

Static image:
- All commands shortened, instead of static image all commands now have only the word static

Fonts:
- Some commands moved to APP category

Events:
- All commands moved to APP category

Cursor:
- command GET MOUSECLICK replaced with BBB CURSOR_GETCLICK
- command GET MOUSEMOVEX replaced with BBB CURSOR_GETMOVEX
- command GET MOUSEMOVEY replaced with BBB CURSOR_GETMOVEY
- command GET MOUSEMOVEZ replaced with BBB CURSOR_GETMOVEZ
- Added commands:
  * BBB CURSOR_SETSONAR

Menu:
- Some commands moved to APP category
- Removed commands:
  * APPLY MENU -> use BBB WINDOW_SETMENU instead
  * SUBMENU INSERT SEPARATOR -> use BBB SUBMENU_ADDITEM instead
- Added commands:
  * BBB MENU_REMOVEITEM menu, item id
  * BBB SUBMENU_SETITEMTEXT submenu, item id, item text
  * item_text=BBB SUBMENU_GETITEMTEXT(submenu, item id)
  * item_count=BBB MENU_GETITEMCOUNT(menu)
  * item_id=BBB MENU_GETITEMID(Menu, item position)
  * item_position=BBB MENU_GETITEMPOSITION(Menu, item id)
  * BBB MENU_SETITEMSTATE menu, item id, item state
  * item_state=BBB MENU_GETITEMSTATE(menu, item id)
- Changed commands
  * SUBMENU INSERT ITEM changed to BBB SUBMENU_ADDITEM 
  * MENU APPEND SUBMENU changed to BBB MENU_ADDITEM menu, item submenu, item text
  * show submenu changed to BBB SUBMENU_SETASCURRENTPOPUPMENU subemnu, window


Toolbar:
- Changed commands:
  * TOOLBAR SET BUTTON STATE toollbar, button_index, state (0,1, or 2) changed to TOOLBAR SET BUTTON STATE toolbar, button id, state 
  * state=TOOLBAR GET BUTTON STATE(toolbar, button index) changed to state=TOOLBAR GET BUTTON STATE(toolbar, button id) 
  * MOUSE ON TOOLBAR BUTTON() changed to BBB APP_GETLASTHIGHLIGHTEDTOOLBARBUTTON()  
  * [check BBB gui constants file for available toolbar button states]
- Added commands:
  * button_id=BBB TOOLBAR_GETBUTTONID(Toolbar, button index)
  * BBB TOOLBAR_SETBUTTONTOOLTIP toolbar, button_id, tooltip text, tooltip style
- Removed commands:
  * TOOLBAR CHECK BUTTON
  * TOOLBAR PRESS BUTTON
  * TOOLBAR ENABLE BUTTON
  * TOOLBAR SHOW BUTTON

Listview:
- Added commands:
  * BBB LISTVIEW_INSERTGROUP Listview, group name, group id, group index
  * BBB LISTVIEW_GROUPADDITEM Listview, group id, item index

Tab:
- Added commands:
  * BBB TAB_SETITEMTEXT Tab, item index, text 
  * item_text=BBB TAB_GETITEMTEXT(Tab, item index)

Editbox:
- Fixed bug in EDITBOX GET LINE command
- Added commands:
  * line_index=BBB EDITBOX_GETLINEFROMCHAR(editbox, char_index)
  * char_index=BBB EDITBOX_GETSELECTEDCHAR(editbox, which_char)  --> which_char: 0=first, 1=last
  * BBB EDITBOX_SETSELECTEDCHAR Editbox, start_char_index, end_char_index

Treeview:
- Removed commands:
  * TREEVIEW INSERT ROOT
- Added commands:
  * BBB TREEVIEW_SETITEMTEXT Treeview, item handle, text
  * text=TREEVIEW_GETITEMTEXT(Treeview, item handle)
  * BBB TREEVIEW_DELETEITEM treeview, item handle
  * BBB TREEVIEW_EXPANDITEM treeview, item, flag
  * item_handle=BBB TREEVIEW_GETNEXTITEM(treeview, item, flag)
  * BBB TREEVIEW_SETSELECTEDITEMHANDLE treeview, item_handle

Stringlist:
- Added commands:
  * item_count=BBB STRINGLIST_GETITEMCOUNT(stringlist)
  * string$=BBB STRINGLIST_GETSTRING(Stringlist, string index)

Open & save file dialog
- Removed commands:
  * OPEN FILE DIALOG return_string, title, filter
  * SAVE FILE DIALOG return_string, title, filter
- Changed commands:
  * path$=OPEN FILE DIALOG(title, filter) changed to path$=BBB OPENFILE DIALOG(title, filter, default extension)
  * path$=SAVE FILE DIALOG(title, filter) changed to path$=BBB SAVEFILE DIALOG(title, filter, default extension)

Drawing
- Added draw example
- Added commands:
  * BBB DRAW_SETPENCOLOR color, style, width
  * BBB DRAW_SETFILLCOLOR color
  * BBB DRAW_ROUNDRECTANGLE Window, left, top, right, bottom, ellipse width, ellipse height
  * BBB DRAW_TEXT Window, text, left, top, right, bottom, style

Windows:
- Some commands moved to APP category (check keywords.ini file to see which)
- Added commands:
  * BBB WINDOW_REFRESHMENU window
- Removed commands:
  * WINDOW GET TEXT return_string,window -->use text$=BBB WINDOW_GETTEXT(window) instead

********************
NEW FEATURES:

Rich editbox:
- Added commands:
  * RichEditboxHandle=BBB REDITBOX_MAKE(Position x, position y, width, height, style, parent)
  * BBB REDITBOX_SETCHARFORMAT RichEditbox, style, CharFormatPTR
  * CharformatPTR=BBB REDITBOX_GETCHARFORMAT(RichEditbox)
  * BBB REDITBOX_SETBACKGROUNDCOLOR RichEditbox, color
  * BBB REDITBOX_SETTEXT RichEditbox, text
  * text$=BBB REDITBOX_GETTEXT(RichEditbox, flags)
  * BBB REDITBOX_SAVE RichEditbox, filename, flags
  * BBB REDITBOX_OPEN RichEditbox, filename, flags

CharFormat:
- Added commands:
  * CharFormatPTR=BBB CHARFORMAT_MAKE(No parameters)
  * mask=BBB CHARFORMAT_GETMASK(CharFormatPTR)
  * BBB CHARFORMAT_SETEFFECTCharFormatPTR, mask, style
  * effect=BBB CHARFORMAT_GETEFFECT(CharFormatPTR)
  * BBB CHARFORMAT_SETHEIGHT CharFormatPTR, height
  * BBB CHARFORMAT_SETOFFSET CharFormatPTR, offset
  * BBB CHARFORMAT_SETTEXTCOLOR CharformatPTR, color
  * BBB CHARFORMAT_SETCHARSET CharFormatPTR, charSet
  * BBB CHARFORMAT_SETFONT CharFormatPTR, font name
  * BBB CHARFORMAT_SETFONTWEIGHT CharFormatPTR, weight
  * BBB CHARFORMAT_SETBACKGROUNDCOLOR CharFormatPTR, color
  * BBB CHARFORMAT_SETUNDERLINETYPE CharFormatPTR, type
  * BBB CHARFORMAT_SETREVISIONAUTHOR CharFormatPTR, author

System tray:
- Added commands:
  * BBB STRAY_ADDWINDOW Window, icon path, tooltip text, flags (flags parameter is currently unused)
  * BBB STRAY_REMOVEWINDOW Window

Misc:
- Added commands:
  * folder$=BBB BrowserRequesterDialog(title, flags)


BBB GUI 07/13/2010 (v1.3.0.0.)
================

Listview:
Added commands:
* imagelist_handle=LISTVIEW GET IMAGELIST(listview_handle)

Events:
fixed stringtable error on event_get_lparam command

Windows:
added commands:
* FLASH WINDOW Window, flags, count, timeout - timeout parameter needs to be specified in miliseconds (1000 miliseconds=1 second)
* WINDOW SET REGION Window, region

NEW FEATURES:
Skinned windows:
added commands:
* layered_window_handle=MAKE LAYERED WINDOW(px, py, width, height, skin_image_file, TransparentColor, parent, style)
* LAYERED WINDOW SET ATTRIBUTES layered_window_handle, transparent_color, style
* Added skinned windows example

Window Regions:
added commands:
* region_handle=MAKE RECTANGLE REGION(Left, top, right, bottom)
* region_handle=MAKE ELLIPTIC REGION(left, top, right, bottom)
* region_handle=COMBINE REGIONS(Region 1, region 2)
* DELETE REGION region_handle

Other:
* changed the way of returning strings within some of the commands to prevent crashing
* updated BBBGUI_CONSTANTS.dba file
* updated windows example to show new commands in use

BBB GUI 03/18/2010 (v1.2.0.2.)
================

Imagelist:
Changed commands:
* imagelist_handle=MAKE IMAGELIST(Image width, image file, r, g, b) changed to imagelist_handle=MAKE IMAGELIST(image_width, image_file, color_style)
* IMAGELIST SET TRANSPARENT COLOR color r,g,b changed to IMAGELIST SET TRANSPARENT COLOR color as dword

* New feature: child windows can now be automatically resized when their's parent window size changes
To activate this feature for a particular window you have to specify 3 properties - like this:
WINDOW SET PROPERTY hWindow,"_as",1
WINDOW SET PROPERTY hWindow,"_w",WINDOW WIDTH(hWindow)
WINDOW SET PROPERTY hWindow,"_h",WINDOW HEIGHT(hWindow)

* Updated WebBrowser example to show new feature in use

Window:
Added commands:
* font_handle=MAKE FONT(height, weight, italic, underline, strikeout, charset, family, name)
* WINDOW SET EXSTYLE window_handle, exStyle
* exStyle=WINDOW GET EXSTYLE(window_handle)
* WINDOW REMOVE STYLE window_handle, style
* WINDOW REMOVE EXSTYLE window_handle, exStyle 

BBB GUI 03/09/2010 (v1.2.0.1.)
================
fixed bug where all the icons on desktop disappear at mouse passage

BBB GUI 03/01/2010 (v1.2.0.0.)
================

Menu:
Added commands:
* POPUP MENU GET SELECTED ITEM STRING return_string
* MENU GET SELECTED ITEM STRING return_string

Statusbar:
Added commands:
* STATUSBAR GET TEXT return_string, statusbar_handle, part_index

Window:
changed commands:
* WINDOW GET PROPERTY now returns integer value instead of string

Added commands:
* WINDOW GET PROPERTY$(window_handle, property_name) - returns property value as string
* WINDOW SET PROPERTY window_handle, property_name, property_value as string
* WINDOW SET PROPERTY window_handle, property_name, property_value as integer
* WINDOW GET TEXT return_string, window_handle

Treeview:
Added commands:
* item_handle=TREEVIEW GET CLICKED ITEM HANDLE()
* item_handle=TREEVIEW GET DCLICKED ITEM HANDLE()

Tab control:
Added commands:
* TAB DELETE ITEM tab_handle, item_index

Listview:
Added commands:
* LISTVIEW COPY ITEM listview_handle, source_item_index, destination_item_index

Editbox:
Added commands:
* EDITBOX SET CUEBANNER Editbox_handle, cuebanner text
Modified editbox example to show new command in use

Updown:
Added commands:
* UPDOWN SET STEP SIZE updown_handle, step_size
* step_size=UPDOWN GET STEP SIZE(updown_handle)
* editbox_handle=UPDOWN GET EDITBOX HANDLE(updown)
* label_handle=UPDOWN GET LABEL HANDLE(updown)

Toolbar:
Added commands:
* toolbar_handle=GET CLICKED TOOLBAR()
* button_id=GET CLICKED TOOLBAR BUTTON ID()
* TOOLBAR GET SELECTED MENU STRING return_string

Rebar:
Added commands:
* rebar_handle=GET MODIFIED REBAR()
* REBAR DELETE BAND rebar_handle, band_id
* band_count=REBAR GET BAND COUNT(rebar)
* REBAR GET BAND TEXT return_string, rebar, band_id

Combobox:
Added commands:
* COMBOBOX GET ITEM TEXT return_string, combobox_handle, item_index
* COMBOBOX GET SELECTED ITEM TEXT return_string, combobox_handle

Combobox2:
Added commands:
* combobox2_handle=MAKE COMBOBOX2(Position x, position y, width, height, style, parent_window_handle) - For discription of this control and differencies beetween this and regular combobox see WEbBrowser example
* COMBOBOX2 INSERT ITEM combobox2_handle, item_index, item_text
* COMBOBOX2 INSERT ITEM Combobox2_handle, item_index, item_text, image_index, selected_image_index
* COMBOBOX2 INSERT ITEM Combobox2_handle, item_index, image_index, selected_image_index
* COMBOBOX2 SET IMAGELIST Combobox2_handle, imagelist_handle
* COMBOBOX2 DELETE ITEM combobox2_handle, item_index
Modified combobox example to show new commands in use

WebBrowser control:
Added commands:
* WebBrowser_handle=MAKE WEBBROWSER(url, host_window_handle)
* WEBBROWSER GO BACK WebBrowser_handle
* WEBBROWSER GO FORWARD WebBrowser_handle
* WEBBROWSER GO HOME WebBrowser_handle
* WEBBROWSER REFRESH WebBrowser_handle
* WEBBROWSER NAVIGATE WebBrowser_handle, url
* WEBBROWSER STOP WebBrowser_handle
* WEBBROWSER GET EVENT
* message_id=WEBBROWSER GET EVENT MESSAGE()
* WebBrowser_handle=WEBBROWSER GET EVENT HANDLE()
* WebBrowser_host_window_handle=WEBBROWSER GET EVENT WINDOW()
* boolean=WEBBROWSER GET EVENT BOOL(index)  - Index can be 0 or 1
* string=WEBBROWSER GET EVENT STRING(index) - Index can be 0 or 1
* WEBBROWSER GET EVENT STRING return_string, index - Index can be 0 or 1
* integer=WEBBROWSER GET EVENT INT(index)   - Index can be 0 or 1

Added WebBrowser example

The rest:
Added commands:
* control_handle=GET MODIFIED CONTROL()
* event_id=GET MODIFIED CONTROL EVENT()

* OPEN FILE DIALOG return_string, title, filter
* SAVE FILE DIALOG return_string, title, filter



BBB GUI 02/09/2010 (v1.1.0.0.)
================

Tooltips:
added commands for creating and manipulating tooltips:
* tooltip_handle=MAKE TOOLTIP(style, tooltip text)
* SHOW TOOLTIP Tooltip, x, y, show state
* TOOLTIP SET TEXT tooltip, text
* DELETE TOOLTIP tooltip
* TOOLTIP SET BACKGROUND COLOR tooltip, r, g, b
* TOOLTIP SET TEXT COLOR tooltip, r, g, b
* TOOLTIP SET TITLE AND IMAGE tooltip, title, image
* TOOLTIP SET MARGINS tooltip, left, top, right, bottom
* TOOLTIP SET DELAY TIME tooltip, duration, time
* TOOLTIP SET POSITION tooltip, x, y

Windows:
added a fex commands:
* WINDOWS SET ICON icon_file
* WINDOW SET ICON Window, icon_file 
* tooltip_handle=WINDOW SET TOOLTIP(Window, style, tooltip text)
* tooltip_handle=WINDOW SET TOOLTIP(Window, style, tooltip text, left, top, right, bottom)
* window_style=WINDOW GET STYLE(Window)
* WINDOW SET STYLE Window, style
* WINDOW SET PROPERTY window, property name, property value
* value=WINDOW GET PROPERTY VALUE(window, property name)
* WINDOW DELETE PROPERTY window, property name
* screen_x=CONVERT TO SCREEN X(window, client x)
* screen_y=CONVERT TO SCREEN Y(window, client y)
* FIND WINDOW command rename to FIND WINDOW1 to avoid collision with Styx plugin

Statusbar:
* fixed the bug\feature where size of the statusbar left the same after the window was resized


Splitter:
* changed the way splitters are drawn - they finaly work as they should 

Buttons:
added command:
* button_handle=GET CLICKED BUTTON() - returns handle of last clicked button

Listview:
added commands:
* LISTVIEW SET COLUMN WIDTH listview, column_index, width
* width=LISTVIEW GET COLUMN WIDTH(listview, column_index)
* LISTVIEW SCROLL ITEMS listview, x, y 
* LISTVIEW SET ITEM BACKGROUND COLOR listview, item index, r, g, b
* LISTVIEW SET ITEM TEXT COLOR listview, item index, r, g, b
* LISTVIEW DELETE COLUMN listview, column index
* column_index=LISTVIEW GET SELECTED COLUMN(listview)
* LISTVIEW SET ITEM TYPE listview, item index, column index, type
* type=LISTVIEW GET ITEM TYPE(listview, item index, column index)
* r=LISTVIEW GET ITEM BACKGROUND COLOR R(listview, item index)
* g=LISTVIEW GET ITEM BACKGROUND COLOR G(listview, item index)
* b=LISTVIEW GET ITEM BACKGROUND COLOR B(listview, item index)
* column_count=LISTVIEW GET COLUMN COUNT(listview)
* LISTVIEW SET HIGHLIGHT COLOR listview, r, g, b

Drawing:
added commands:
 * DRAW FOCUS RECTANGLE window, left, top, right, bottom 


Editbox:
added commands:
* line_number=EDITBOX GET FIRST VISIBLE LINE(editbox)
* line=EDITBOX GET LINE(Editbox, line number)
* line_count=EDITBOX GET LINE COUNT(editbox)
* modify_state=EDITBOX GET MODIFY(editbox)
* EDITBOX SET MAX CHAR COUNT editbox, char count
* EDITBOX SCROLL CONTENT editbox, horizontal, vertical
* EDITBOX SCROLL CONTENT editbox, action


Listbox:
added commands:
* listbox_handle=MAKE LISTBOX(px, py, width, height, title, parent, style)
* item_index=LISTBOX ADD ITEM(listbox, item string)
* item_count=LISTBOX GET ITEM COUNT(listbox)
* LISTBOX RESET CONTENT listbox
* LISTBOX INSERT ITEM listbox, index, string
* LISTBOX DELETE ITEM listbox, item index
* text_length=LISTBOX GET ITEM TEXT LENGTH(listbox, item index)
* item_text=LISTBOX GET ITEM TEXT(listbox, item index)
* LISTBOX SELECT ITEM listbox, item index, select state
* LISTBOX SELECT ITEMS listbox, item start index, item end index, select state
* item_index=LISTBOX GET SELECTED ITEM(listbox)
* LISTBOX SET SELECTED ITEM listbox, item index
* item_index=LISTBOX FIND ITEM INDEX(listbox, item string)
* item_state=LISTBOX GET ITEM STATE(listbox, item index)
* item_count=LISTBOX GET SELECTED ITEMS COUNT(listbox)
* item_index=LISTBOX GET TOP INDEX(listbox)
* LISTBOX SET TOP INDEX listbox, item index
* LISTBOX GET SELECTED ITEMS listbox
* item_index=LISTBOX GET SELECTED ITEMS ITEM(index)
* item_index=LISTBOX FIND ITEM INDEX EXACT(listbox, string)
* LISTBOX SET COLUMN WIDTH(Listbox, width)
* item_height=LISTBOX GET ITEM HEIGHT(listbox, item index)
* LISTBOX SET ITEM HEIGHT listbox, item index, height

Updown control:
added commands:
* updown_handle=GET CLICKED UPDOWN()

Checkbox:
added commands:
* checkbox_handleGET CLICKED CHECKBOX()

Radiobox:
added commands:
* radiobox_handle=GET CLICKED RADIOBOX()


BBB GUI 12/20/2009 (v1.0.0.0.)
================

INITIAL RELEASE